#!groovy
pipeline {
    agent any //支持集群

    //环境变量
    environment {
        //git地址
        REPOSITORY="ssh://git@gitlab.zhang.com:2222/alex/koala.git"
        MODULE="koala"
        SCRIPT_PATH="/data/koala/script"
    }
    //流水线体现
    //阶段
    stages {

        stage('获取代码') {
            //步骤
            steps {
                echo "start fetch code from git:${REPOSITORY}"
                //删除git目录
                deleteDir()
                //使用变量一定使用双引号，使用常量的时候使用单引号
                git "${REPOSITORY}"
            }

        }
    stage('代码静态检查') {

            steps {
                echo "start code check"
            }
        }
        stage('编译+单元测试') {
            //编译
            steps {
                echo "start compile"
                sh "mvn -U -am clean package -Dmaven.test.skip=true"
            }
        }
        stage('构建镜像') {
            steps {
                echo "start compile"
                sh "${SCRIPT_PATH}/koala-build.sh ${SCRIPT_PATH}"
            }
        }
        stage('发布系统') {
           steps {
               echo "start compile"
               sh "${SCRIPT_PATH}/koala-deploy.sh  ${SCRIPT_PATH} ${MODULE}"
           }
        }
    }

}
